package com.hupu.jrs.ui.main

import android.app.Fragment
import android.view.MenuItem
import com.hupu.jrs.ui.BasePresenter
import com.hupu.jrs.ui.BaseView

/**
 * Created by sll on 2016/5/11.
 */
interface MainContract {
    interface View : BaseView {
        fun setTitle(title: CharSequence)

        fun renderUserInfo(user: User)

        fun renderAccountList(users: List<User>, items: Array<String>)

        fun renderNotification(count: Int)

        fun reload()

        fun closeDrawers()

        fun showFragment(fragment: Fragment)

        fun showMessageUi()

        fun showUserProfileUi(uid: String)

        fun showLoginUi()

        fun showAccountUi()

        fun showSettingUi()

        fun showFeedBackUi()

        fun showAboutUi()
    }

    interface Presenter : BasePresenter<View> {

        val isLogin: Boolean

        fun onNightModelClick()

        fun onNotificationClick()

        fun onCoverClick()

        fun onNavigationClick(item: MenuItem)

        fun showAccountMenu()

        fun onAccountItemClick(position: Int, users: List<User>, items: Array<String>)

        fun exist()
    }
}
